package br.org.ifrr.service;

import java.io.Serializable;

import javax.inject.Inject;

import br.org.ifrr.model.Material;
import br.org.ifrr.repository.Materias;
import br.org.ifrr.util.jpa.Transactional;
import br.org.ifrr.util.jsf.service.NegocioException;

public class CadastroMaterialService implements Serializable {

	private static final long serialVersionUID = 1L;

	@Inject
	private Materias materias;

	@Transactional
	public Material salvar(Material material) {

		Material cefetExistente = materias.portombCefet(material.getTombCefet());
		Material ifrrExistente = materias.portombIfrr(material.getTombIfrr());

		if (cefetExistente != null && !cefetExistente.equals(material)) {
			throw new NegocioException(
					"Já existe uma material com o Tombamento Cefet informado.");
		}

		if (ifrrExistente != null && !ifrrExistente.equals(material)) {
			throw new NegocioException(
					"Já existe uma material com o Tombamento Ifrr informado.");
		}
		return materias.guardar(material);
	}
}
